export const errorHandler = async (ctx, next) => {
  try {
    // 把控制权交给后续的中间件，直到后续中间件执行完毕，才会继续执行当前中间件剩余的代码
    await next();
    if (ctx.response.status === 404 && !ctx.response.body) {
      ctx.throw(404);
    }
  } catch (error) {
    const { url = "" } = ctx.request;
    const { status = 500, message } = error;
    if (url.startsWith("/api")) {
      ctx.status = typeof status === "number" ? status : 500;
      ctx.body = {
        msg: message,
      };
    }
  }
};
